package cn.biplam.back.sql.ddl;

import java.io.Serializable;

import cn.biplam.back.sql.type.Char;
import cn.biplam.back.sql.type.Decimal;
import cn.biplam.back.sql.type.Int;
import cn.biplam.back.sql.type.Numeric;
import cn.biplam.back.sql.type.Type;
import cn.biplam.back.sql.type.VarChar;
import cn.biplam.common.wrapper.ErrorMessage;

/**
 * 提供字段默认值的语义模型
 * @author 	WangSong Mar 16, 2009 12:26:18 PM
 * @version 1.0
 */
public class Default implements Serializable {
	
	private static final long serialVersionUID = -2444405161846264756L;
	private String sDefault=null;

	/**
	 * 传入数据元创建默认值
	 * @param type 数据元
	 */
	public Default(Type type){
		this.sDefault=type.toString();
	}
	
	/**
	 * 构造方法 传入Char数据元 初始化
	 * @param mDefault
	 * @throws ErrorMessage
	 */
	public Default(Char mDefault) throws ErrorMessage{
		this.sDefault=mDefault.toString();
	}
	
	/**
	 * 构造方法 传入Decimal数据元 初始化
	 * @param mDefault
	 * @throws ErrorMessage
	 */
	public Default(Decimal mDefault) throws ErrorMessage{
		this.sDefault=mDefault.toString();
	}

	/**
	 * 构造方法 传入Int数据元 初始化
	 * @param mDefault
	 * @throws ErrorMessage
	 */
	public Default(Int mDefault) throws ErrorMessage{
		this.sDefault=mDefault.toString();
	}

	/**
	 * 构造方法 传入Numeric数据元 初始化
	 * @param mDefault
	 * @throws ErrorMessage
	 */
	public Default(Numeric mDefault) throws ErrorMessage{
		this.sDefault=mDefault.toString();
	}
	
	/**
	 * 构造方法 传入VarChar数据元 初始化
	 * @param mDefault
	 * @throws ErrorMessage
	 */
	public Default(VarChar mDefault) throws ErrorMessage{
		this.sDefault=mDefault.toString();
	}
	
	/**
	 * 返回SQL语法表示的数据内容的字符串
	 * @return SQL语法表示的数据内容的字符串
	 */
	public String toString(){
		return this.sDefault;
	}

}
